home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2000 February / Macworld (2000-02).dmg / Games World / Hot demos! / Starbound II / Races / General / General.rsrc / s$it_130_Built-in functions < prev    next >
Text File  |  1999-11-02  |  22KB  |  530 lines

  1. Initial game settings:
  2.  
  3. Space_combat() : integer;
  4.     Returns the method by which space combat is resolved (sb_space_calculated, sb_space_arcade, sb_space_turn, sb_space_realtime).
  5.  
  6. Fleets() : boolean;
  7.     Are fleets allowed in this game?
  8.  
  9. Ship_classes() : boolean;
  10.     Are there different classes of starships?  (Not including trade ships).
  11.  
  12. Ship_design() : boolean;
  13.     Can you design ships in the game?
  14.  
  15. Surface_combat() : integer;
  16.     Returns how ground combat is resolved (sb_ground_none, sb_ground_calculated, sb_ground_turn, sb_ground_realtime).
  17.  
  18. Terraforming() : boolean;
  19.     Do you need to terraform the planet?
  20.  
  21. Development() : boolean;
  22.     Do you need to develop the surface of the planet (build structures).
  23.  
  24. Minerals() : boolean;
  25.     Do minerals affect production?
  26.  
  27. Sector_size() : integer;
  28.    Returns the size of the game board (sb_small, sb_medium, sb_large, sb_huge).
  29.  
  30. Diplomacy() : boolean;
  31.     Is diplomacy possible?
  32.  
  33. Anomalies() : boolean;
  34.    Are there anomalies?
  35.  
  36. Num_players() : integer;
  37.     The total number of players in the game.
  38.  
  39. Num_AIs() : integer;
  40.    The number of AI’s playing, including itself.
  41.  
  42. -----------------------------------------------
  43. AI Information commands:
  44.  
  45. My_race() : integer;
  46.     Returns you race.
  47.  
  48. Planets_owned() : integer;
  49.     Returns the number of planets that you currently own.
  50.  
  51. Total_output() : integer;
  52.     Returns your total output.
  53.  
  54. Min_weapon() : integer;
  55. Avg_weapon() : integer;
  56. Max_weapon() : integer;
  57. Min_shields() : integer;
  58. Avg_shields() : integer;
  59. Max_shields() : integer;
  60. Min_move() : integer;
  61. Avg_move() : integer;
  62. Max_move() : integer;
  63. Min_detect() : integer;
  64. Avg_detect() : integer;
  65. Max_detect() : integer;
  66.     Returns the minimum, average, and maximum tech levels of your empire.
  67.  
  68. -----------------------------------------------
  69. Fleet commands:
  70.  
  71. First_fleet(race : integer) : fleet;
  72.     Returns the first ship in a fleet for a race.  If race is -1 then this function returns the first fleet for all races.  It only returns fleets that are visible to you.
  73.     Note: The value of fleet will vary from turn to turn for the same fleet(because fleet are created and destroyed), therefore, don't use fleets as a persistent value.  If you want to keep track of a fleet, add an attachment to mark the fleet.
  74.  
  75. Next_fleet(current : fleet; race : integer) : fleet;
  76.     Returns the next fleet of the race.  If race is -1 then this function returns the next fleet for all races.  It only returns fleets that are visible to you.  Note: See First_fleet for information about the persistence of the fleet value.
  77.  
  78. Can_scan_fleet(current : fleet) : boolean;
  79.     Returns true if you can scan the fleet.
  80.  
  81. Get_fleet_x(current : fleet) : integer;
  82. Get_fleet_y(current : fleet) : integer;
  83.     Returns the location of a fleet.
  84.  
  85. Fleet_dist(current : fleet) : integer;
  86.     Returns how many movement points a fleet has left.
  87.  
  88. Set_destination(current : fleet; x : integer; y : integer) : integer;
  89.     This function will set a fleets destination.  It returns an estimate of the number of turns until the destination will be reached.
  90.  
  91. Num_path_points(current : fleet) : integer;
  92.     Returns the number of points in the fleet’s path.
  93.  
  94. Path_add_hex(current : fleet; slot : integer; x : integer; y : integer) : boolean;
  95.     Adds a hex point to the path.
  96.  
  97. Path_add_planet(current : fleet; slot : integer; x : integer; y : integer) : boolean;
  98.     Adds a planet to the path.
  99.  
  100. Path_planet_repair(current : fleet; slot : integer; repair : boolean) : boolean;
  101. Path_planet_reload(current : fleet; slot : integer; reload : boolean) : boolean;
  102. Path_planet_colonize(current : fleet; slot : integer; colonize : boolean) : boolean;
  103. Path_planet_load_material(current : fleet; slot : integer; load : boolean) : boolean;
  104. Path_planet_drop_material(current : fleet; slot : integer; drop : boolean) : boolean;
  105.     Set the state of the path/planet interaction.  For example, whether the fleet will drop off colonist when it reaches the planet.  The functions return false if the set command fails.
  106.  
  107. Path_planet_material(current : fleet; slot : integer; material : integer) : boolean;
  108.     Set the material the fleet will pick up when in orbit.  The functions return false if the set command fails.
  109.  
  110. Delete_slot(current : fleet; slot : integer) : boolean;
  111.     This function removes a slot in the path.
  112.  
  113. -----------------------------------------------
  114. Current fleet commands:
  115.  
  116. This_fleet() : fleet;
  117.     Returns the fleet whose move it is(in the Each fleet situation).
  118.  
  119. Move_fleet_angle(angle : integer) : boolean;
  120.     This function will move the current fleet on hex in the direction specified by angle.  Angle varies from 0 to 5, with 0 being up, and proceeding clockwise.  It returns whether it succeeded or not.
  121.  
  122. Follow_dest() : integer;
  123.     This function will make the fleet move toward it’s destination.  It returns the number of movement points it has left.
  124.  
  125. Follow_path() : integer;
  126.     This function will make the fleet follow it’s path.  It returns the number of movement points it has left if it completes the path(and the path doesn’t loop).
  127.  
  128. Skip() : none;
  129.     This function tells the fleet to wait for the rest of it’s move, setting it’s movement left to 0.
  130.  
  131. -----------------------------------------------
  132. Ship commands:
  133.     Note: Ship command will either return a -1 value, or have not effect on ships that are out of range.
  134.  
  135. Num_ships(current : fleet) : integer;
  136.     Returns the number of ships in the fleet.
  137.  
  138. Ship_weapon(current : fleet; ship : integer) : integer;
  139. Ship_shield(current : fleet; ship : integer) : integer;
  140. Ship_current(current : fleet; ship : integer) : integer;
  141. Ship_move(current : fleet; ship : integer) : integer;
  142. Ship_detect(current : fleet; ship : integer) : integer;
  143. Ship_class(current : fleet; ship : integer) : integer;
  144. Ship_generation(current : fleet; ship : integer) : integer;
  145. Ship_cur_cargo(current : fleet; ship : integer) : integer;
  146. Ship_max_cargo(current : fleet; ship : integer) : integer;
  147.     Returns informaiton about a specific ship in a fleet.  Namely, the weapon, shield, current shield level, movement, detection, class and generation information.
  148.  
  149. Get_ship_pos_x(current : fleet; ship : integer) : integer;
  150. Get_ship_pos_y(current : fleet; ship : integer) : integer;
  151.     Gets the ship's position in the fleet.
  152.  
  153. Set_ship_pos(current : fleet; ship : integer; x : integer; y : integer) : boolean;
  154.     Sets the ship's position in the fleet.  If there is already a ship in that position it will not move the ship and return false.
  155.  
  156. Ship_cargo(current : fleet; ship : integer; type : integer) : integer;
  157.     Returns the number of units of a specific cargo type on the ship.
  158.  
  159. Enter_orbit(current : fleet; ship : integer; world : planet) : boolean;
  160.     Puts a ship in orbit around the planet.  Returns false if the operation failed(orbit is already full, planet is not adjacent).
  161.  
  162. Manifest(current : fleet; ship : integer; type : integer; amount : integer) : boolean;
  163.     This function sets the ship’s manifest.  If the manifest needs more space then the ship has then it fails and returns false.
  164.  
  165. Space_used(type : integer) : integer;
  166.     This function returns the amount of space needed by a type of unit.
  167.  
  168. Colonize_ship(current : fleet; ship : integer; world : planet) : boolean;
  169.     This function has a ship colonize a planet that it is adjacent to.  It returns false if it fails.
  170.  
  171. Land_ship(current : fleet; ship : integer; world : planet; hex : integer) : boolean;
  172.     This function has a ship land on a planet that it is adjacent to.  It lands the ship in a particular hex.  It returns false if it fails.
  173.  
  174. -----------------------------------------------
  175. Space commands:
  176.  
  177. Space_contents(x : integer; y : integer) : integer;
  178.     Returns the space contents of a hex: sb_empty, sb_nebula, sb_asteroids, sb_wormhole, sb_blackhole, sb_planet.
  179.  
  180. Occupants(x : integer; y : integer) : fleet;
  181.     Returns the fleet in the hex.  Nil is returned if there is no fleet, or it’s not visible.
  182.  
  183. Distance(fx : integer; fy : integer; tx : integer; ty : integer) : integer;
  184.     This function returns the distance to from one hex coordinate to another.
  185.  
  186. Target_to_angle(fx : integer; fy : integer; tx : integer; ty : integer) : integer;
  187.     Returns the angle need to get closer to the target.
  188.  
  189. -----------------------------------------------
  190. Math commands:
  191.  
  192. Sin(value : real) : real;
  193. Cos(value : real) : real;
  194. Tan(value : real) : real;
  195. Arcsin(value : real) : real;
  196. Arccos(value : real) : real;
  197. Arctan(value : real) : real;
  198. Round(value : real) : integer;
  199. Random(max : integer) : integer;
  200.  
  201. -----------------------------------------------
  202. Structure commands:
  203.  
  204. Num_structures() : integer;
  205.     Returns the total number of structures on the planet.
  206.  
  207. First_structure() : structure;
  208.     Returns the first structure on the planet.  Starting from top-left to bottom-right.
  209.  
  210. Next_structure(current : structure) : structure;
  211.     Returns the next structure on the planet.  First moving down the column then over one hex to the right.  Returns nil if there are no more structures.
  212.  
  213. Structure_type(current : structure) : integer;
  214.     Returns the structure type.
  215.  
  216. Structure_armor(current : structure) : integer;
  217.     Returns the current armor of the structure.
  218.  
  219. Structure_max(current : structure) : integer;
  220.     Returns the maximum armor of the structure.
  221.  
  222. Structure_shielded(current : structure) : boolean;
  223.     Returns whether the structure is shielded or not.
  224.  
  225. Structure_hex(current : structure) : intger;
  226.     Returns the hex number that the structure occupies(between 0 and 127).
  227.  
  228. -----------------------------------------------
  229. Ship system commands:
  230.  
  231. Design_analyzed(race : integer; type : integer; gen : integer) : boolean;
  232.     Returns whether the design has been analyzed or not.
  233.  
  234. Has_system(race : integer; type : integer; gen : integer; system : integer) : boolean;
  235.     Returns whether a design has a system.
  236.  
  237. First_system(race : integer; type : integer; gen : integer) : integer;
  238.     Returns the first system in the design.
  239.  
  240. Next_system(race : integer; type : integer; gen : integer; cur : integer) : integer;
  241.     Returns the next system on the ship;
  242.  
  243. Num_cargos(race : integer; type : integer; gen : integer) : integer;
  244.     Returns the number of cargo bays the ship has.
  245.  
  246. Num_fire_systems(race : integer; type : integer; gen : integer) : integer;
  247.     Returns the number of fire system on the ship.
  248.  
  249. Fire_system(race : integer; type : integer; gen : integer; slot : integer) : integer;
  250.     Returns the system id of the fire control system.
  251.  
  252. -----------------------------------------------
  253. Orbital commands:
  254.  
  255. Fleet_in_orbit() : fleet;
  256.     This function returns the fleet in orbit.  It can be used in orbital combat and in the planetary production situations.
  257.  
  258. Orbit_upgrade(ship : integer; chars : boolean; gen : boolean) : boolean;
  259.     This function will set a ship in orbit to be upgraded.
  260.  
  261. Orbit_colonize(ship : integer) : boolean;
  262.     This function will have a ship colonize the planet.
  263.  
  264. Orbit_land(ship : integer; hex : integer) : boolean;
  265.     This function will have a ship colonize a hex.  It returns false if it the ship cannot land.
  266.  
  267. -----------------------------------------------
  268. Bombard/defense commands:
  269.  
  270. Fire_planetary_defense(target : integer) : none;
  271.     This function fires the planetary defense at one of the ships in orbit.  If you pass this function a non-valid target number, it does not fire.
  272.  
  273. Bombard_planet(target : hex) : none;
  274.     This function makes a orbital ship bombard a specific hex on the planet.  Hex values can range from 0 to 127.  If you pass this function a non-valid hex, then the ship skips it’s firing turn.
  275.  
  276. -----------------------------------------------
  277. Surface commands:
  278.  
  279. Hex_shielded(hex : integer) : boolean;
  280.     This function returns whether a hex is shielded or not.
  281.  
  282. Hex_structure(hex : integer) : structure;
  283.     This function returns the structure contained in the hex.  If there is not one it returns nil.
  284.  
  285. Nearest_free_hex(hex : integer) : integer;
  286.     This function returns the nearest hex that may be landed on.  This hex has no structure and is not shielded.
  287.  
  288. Hex_squad(hex : integer) : squad;
  289.     This function returns the squad in the hex or nil if there is no squad present.
  290.  
  291. -----------------------------------------------
  292. Deployment commands:
  293.  
  294. Num_unit_type(type : integer) : integer;
  295.     This function returns the number of units that you have in the cargo holds of your fleet(for all the active ship) or in the current barracks.
  296.  
  297. Num_unit_type_ship(type : integer; ship : integer) : integer;
  298.     This function returns the number of units that you have in the cargo bays of a particular ship.
  299.  
  300. Set_deployment(ship : integer; deploy : boolean) : none;
  301.     This function allows you to set whether a ship will deploy troops or not.
  302.  
  303. Add_unit_to_squad(type : integer) : boolean;
  304.     This function adds a unit to the squad from the ships in orbit or from the current barracks.
  305.  
  306. Deploy_squad() : boolean;
  307.     This function deploys a squad from a barracks.
  308.  
  309. Deploy_drop_ship(hex : integer) : boolean;
  310.     This function deploys a drop ship carrying a squad to a specific hex.  It returns true or false depending on whether you can deploy the drop ship there.
  311.  
  312. -----------------------------------------------
  313. Squad commands:
  314.  
  315. This_squad() : squad;
  316.     Returns the current squad.
  317.  
  318. Squad_race(current : squad) : integer;
  319.     Returns the race of the current squad.
  320.  
  321. Num_units(current : squad) : integer;
  322.     Returns the number of units in the squad.
  323.  
  324. Unit_type(current : squad; unit : integer) : integer;
  325.     Returns the type of unit.  -1 if you pass an invalid unit number.
  326.  
  327. Planet_distance(from : integer; to : integer) : integer;
  328.     This function returns the distance between two points on the planet.
  329.  
  330. First_squad(race : integer) : squad;
  331.     This function returns the first squad on the planet of a certain race.  It returns nil if there is no squads of that race on the planet.
  332.  
  333. Next_squad(cur : squad; race : integer) : squad;
  334.     This function returns the next squad on the planet of the race.
  335.  
  336. Move_squad(hex : integer) : boolean;
  337.     This function moves the active units of the squad toward the hex.  Leaving behind the inactive units.  If you move into another squad of your race, then the active units attempt to join the squad.  If you join two squads that add up to more then eight units then nothing happens and Move_squad returns false.
  338.  
  339. Active_unit(unit : integer; state : boolean) : none;
  340.     This function allows you to set which units are active and which are not.
  341.  
  342. -----------------------------------------------
  343. Ground combat commands:
  344.  
  345. Enemy_ground_race() : integer;
  346.     Returns the race of your ground opponent.
  347.  
  348. This_ground() : ground;
  349.     Returns the current ground unit.
  350.  
  351. First_ground(friendly : boolean) : ground;
  352.     Returns the first ground unit, friendly of enemy.
  353.  
  354. Next_ground(current : ground) : ground;
  355.     Returns the next ground unit, same as the current.
  356.  
  357. Get_ground_target(current : ground) : ground;
  358.     Returns the target of the current ground unit.
  359.  
  360. Set_ground_target(current : ground; target : ground) : boolean;
  361.     Sets the target of the current ground unit.  Returns false if you try to set the ground target of an enemy unit.
  362.  
  363. Secondary_status(current : ground; status : boolean) : none;
  364.     Allows you to set the status of the secondary weapon.  True will keep the secondary weapon firing until it is set to false.
  365.  
  366. Ground_distance(unit1 : ground; unit2 : ground) : integer;
  367.     Returns the distance between ground units.
  368.  
  369. Ground_unit_type(current : ground) : integer;
  370.     Returns the ground unit type.
  371.  
  372. Get_ground_x(current : ground) : integer;
  373. Get_ground_y(current : ground) : integer;
  374.     Returns the current x and y location of the ground unit.  This value varies from 0,0 to 2400, 1632.
  375.  
  376. Set_ground_dest(current : ground; x : integer; y : integer) : boolean;
  377.     Sets the destination of the unit.  Returns false if you do not own the unit.  This will remove the units target.  It also removes all current way points.
  378.  
  379. Add_ground_dest(current : ground; x : integer; y : integer) : boolean;
  380.     Adds a destination to the current ground unit’s way-point list.  Returns false if you do not own this unit.  If there is no destination set for the unit then this will be the first destination.
  381.  
  382. Get_ground_dest_x(current : ground) : integer;
  383. Get_ground_dest_y(current : ground) : integer;
  384.     Returns the destination of the current ground unit.
  385.  
  386. -----------------------------------------------
  387. Planet commands:
  388.  
  389. First_planet(race : integer) : planet;
  390.     Returns the first planet of the race.  If race is -1 then it returns the first planet regardless of race.
  391.  
  392. Next_planet(current : planet; race : integer) : planet;
  393.     Returns the next planet of the race.
  394.  
  395. Planet_weapon(current : planet) : integer;
  396. Planet_shields(current : planet) : integer;
  397. Planet_move(current : planet) : integer;
  398. Planet_detect(current : planet) : integer;
  399. Planet_output(current : planet) : integer;
  400.     Returns the planet’s characteristics.
  401.  
  402. Planet_num_structures(current : planet; type : integer) : integer;
  403.     Returns the number of structures of a specific type on the planet.  If type is -1 then it returns the total number of structures on the planet.
  404.  
  405. Planet_x(current : planet) : integer;
  406. Planet_y(current : planet) : integer;
  407.     Returns the location of the planet.
  408.  
  409. Num_turns_weapon(current : planet) : integer;
  410. Num_turns_shields(current : planet) : integer;
  411. Num_turns_move(current : planet) : integer;
  412. Num_turns_detect(current : planet) : integer;
  413.     Returns the expected number of turns until the tech level increases.
  414.  
  415. Set_weapon_spending(current : planet; amount : integer) : none;
  416. Set_shields_spending(current : planet; amount : integer) : none;
  417. Set_move_spending(current : planet; amount : integer) : none;
  418. Set_detect_spending(current : planet; amount : integer) : none;
  419. Set_ship_spending(current : planet; amount : integer) : none;
  420. Set_develop_spending(current : planet; amount : integer) : none;
  421. Get_weapon_spending(current : planet) : integer;
  422. Get_shields_spending(current : planet) : integer;
  423. Get_move_spending(current : planet) : integer;
  424. Get_detect_spending(current : planet) : integer;
  425. Get_ship_spending(current : planet) : integer;
  426. Get_develop_spending(current : planet) : integer;
  427.     Allows you to set and get the spending values.  The output will be divided by the sum.  So it doesn’t matter what you set them too.
  428.  
  429. Set_planet_reserve(current : planet; amount : integer) : none;
  430. Get_planet_reserve(current : planet) : integer;
  431.     Allows you to get and set the reserve spending.  It can range from +25 to -25.
  432.  
  433. Planet_reserve_amount(current : planet) : integer;
  434.     Returns the reserve output.
  435.  
  436. Set_direct_spending(current : planet; amount : integer) : none;
  437. Get_direct_spending(current : planet) : integer;
  438.     Allows you to set and view the direct spending, from 0 to 100.
  439.  
  440. Current_material_abundance(current : planet; material : integer) : integer;
  441. Natural_material_abundance(current : planet; material : integer) : integer;
  442.     Returns the natural and current abundance of materials.
  443.  
  444. Create_structure(current : planet; hex : integer; type : integer) : boolean;
  445. Destroy_structure(current : planet; hex : integer) : boolean;
  446. Pause_structure(current : planet; hex : integer) : boolean;
  447. Resume_structure(current : planet; hex : integer) : boolean;
  448.     Allows the AI to create, destroy and pause structure construction on the planet.
  449.  
  450. Terraform_hex(current : planet; hex : integer; type : integer) : boolean;
  451. Pause_terraform(current : planet; hex : integer) : boolean;
  452. Resume_terraform(current : planet; hex : integer) : boolean;
  453. Stop_terraform(current : planet; hex : integer) : boolean;
  454.     Allows the AI to control terraforming on the planet.
  455.  
  456. Can_build_ship_type(current : planet; type : integer) : boolean;
  457.     Returns whether the planet can build a ship type.
  458.  
  459. Construct_ship_type(current : planet; type : integer) : boolean;
  460.     Sets the ship type to be constructed.
  461.  
  462. Stardock_savings(current : planet) : integer;
  463.     Returns the amount of ship savings.
  464.  
  465. New_ship(current : planet) : boolean;
  466.     Returns whether a new ship was built last month.
  467.  
  468. Stardock_manifest(current : planet; type : integer; manifest : integer) : boolean;
  469.     Sets the manifest of the ship being constructed.  Returns false if you are setting the manifest to hold more then the ship can.
  470.  
  471. Stardock_cur_space(current : planet) : integer;
  472.     Returns the current space available in the ship being constructed.
  473.  
  474. Stardock_max_space(current : planet) : integer;
  475.     Returns the maximum space available in the ship being constructed.
  476.  
  477. -----------------------------------------------
  478. Space combat commands:
  479.  
  480. Enemy_space_race() : integer;
  481.     Returns the race of the enemy ship, or -1 if it is a neutral race.
  482.  
  483. This_ship() : ship;
  484.     Returns the current ship;
  485.  
  486. First_ship(friendly : boolean) : ship;
  487. Next_ship(current : ship) : ship;
  488.     Use this functions to go therough all of the enemy or friendly ships in space combat.
  489.  
  490. Space_race(current : ship) : integer;
  491. Space_class(current : ship) : integer;
  492. Space_gen(current : ship) : integer;
  493.     These functions return information about a ship.  By accessing these functions you can then use the system functions to find out about the ship systems.
  494.  
  495. System_damage(current : ship; system : integer) : integer;
  496.     This function returns the damage to system on a ship.  If it fails it returns -1.
  497.  
  498. System_charges(current : ship; system : integer) : integer;
  499.     This function returns the number of charges left in a system.
  500.  
  501. Set_fire_status(current : ship; fire : integer; active : boolean) : boolean;
  502. Get_fire_status(current : ship; fire : integer) : boolean;
  503.     This function sets the fire system activation levels.  It returns false if it fails.
  504.  
  505. Space_weapon(current : ship) : integer;
  506. Space_shields(current : ship) : integer;
  507. Space_move(current : ship) : integer;
  508. Space_detect(current : ship) : integer;
  509.     These functions return the tech level of the ship.
  510.  
  511. Space_fore_shield(current : ship) : integer;
  512. Space_aft_shield(current : ship) : integer;
  513. Space_starboard_shield(current : ship) : integer;
  514. Space_port_shield(current : ship) : integer;
  515. Space_fore_armor(current : ship) : integer;
  516. Space_aft_armor(current : ship) : integer;
  517. Space_starboard_armor(current : ship) : integer;
  518. Space_port_armor(current : ship) : integer;
  519.     These functions return the shields and armor of the ship.
  520.  
  521. Set_space_dest(current : ship; x : integer; y : integer) : boolean;
  522.     This function sets the ships destination.  It returns false if it fails.
  523.  
  524. Add_space_dest(current : ship; x : integer; y : integer) : boolean;
  525.     This function adds a way point to the ships destination.  It returns false if it fails.
  526.  
  527. Set_space_target(current : ship; target : ship) : boolean;
  528. Get_space_target(current : ship) : ship;
  529.     This function sets the ships target.  It returns false if it fails.
  530.